package cn.jyj.springframework.context;

import cn.jyj.springframework.beans.BeansException;

/**
 * 继承自 ApplicationContext，并提供了 refresh 这个核心方法。
 * 接下来也是需要在上下文的实现中完成刷新容器的操作过程。
 *
 * @Author 老顽固小可爱
 * @Date 2023/1/8 21:44
 * @Version 1.0
 */
public interface ConfigurableApplicationContext extends ApplicationContext {

    /**
     * 刷新容器
     *
     * @throws BeansException
     */
    void refresh() throws BeansException;

    /*
     * 定义注册虚拟机钩子的方法 registerShutdownHook
     * */
    void registerShutdownHook();

    /*
     * 手动执行关闭的方法 close
     * */
    void close();
}

